// ^处权限拦截 导航守卫 路由守卫  router
import router from '@/router' // 引入路由实例
import store from '@/store' // 引入vuex store实例

// 路由导航守卫
router.beforeEach(function(to, from, next) {
  const token = store.state.user.token
  // 设置白名单
  const nextTo = ['/login', '/404']
  if (token) {
    // 代表已经登录了
    // 如果是去往'/login'页面，则返回首页
    if (to.path === '/login') return next('/')
    // 在这里获取左侧菜单权限
    store.dispatch('rights/getMenusList')
    // store.dispatch('user/menusList')
    // 如果不是去往'/login'页面，则放行
    next()
  } else {
    // ^如果没有token,则代表没有登录
    if (nextTo.includes(to.path)) {
      // 如果找到了,表示在白名单里面,放行
      next()
    } else {
      // 不在白名单里面就跳到登录页
      next('/login')
    }
  }
})
